Text copied to clipboard!

Pealkiri

Text copied to clipboard!

Süsteemiprogrammeerija

Kirjeldus

Text copied to clipboard!
Otsime süsteemiprogrammeerijat, kes liituks meie tehnilise meeskonnaga ning aitaks arendada, optimeerida ja hooldada töökindlaid madala taseme tarkvaralahendusi. Selles rollis töötad operatsioonisüsteemide, draiverite, manussüsteemide, jõudluskriitiliste teenuste ja riistvaralähedaste komponentidega, mille töökindlus, turvalisus ja efektiivsus on ettevõtte toodete ning teenuste jaoks keskse tähtsusega. Süsteemiprogrammeerija vastutab tarkvara kavandamise, juurutamise, testimise ja täiustamise eest keskkondades, kus oluline on täpne ressursikasutus, stabiilsus ning võime lahendada keerukaid tehnilisi probleeme. Igapäevatöös teed tihedat koostööd tarkvaraarendajate, süsteemiadministraatorite, DevOpsi inseneride, testijate ja mõnel juhul ka riistvarainseneridega. Sinu ülesanne on mõista süsteemi arhitektuuri tervikuna ning teha tehnilisi otsuseid, mis parandavad jõudlust, vähendavad latentsust ja suurendavad süsteemide töökindlust. Töö hõlmab sageli programmeerimist keeltes nagu C, C++ või Rust, silumist madalal tasemel, logide analüüsi, mälukasutuse optimeerimist ning süsteemikutsete, protsesside, lõimede ja võrgukomponentide põhjalikku tundmist. Edukas kandidaat tunneb hästi operatsioonisüsteemide tööpõhimõtteid, andmestruktuure, algoritme ja arvutiarhitektuuri. Kasuks tuleb kogemus Linuxi või teiste UNIX-laadsete süsteemidega, samuti teadmised kompilaatoritest, ehitussüsteemidest, versioonihaldusest ja automatiseeritud testimisest. Hindame inimest, kes suudab töötada iseseisvalt, kuid oskab ka meeskonnas selgelt suhelda, dokumenteerida tehnilisi lahendusi ning põhjendada oma valikuid nii tehnilistele kui ka mittetehnilistele osapooltele. See ametikoht sobib inimesele, keda motiveerivad keerulised tehnilised väljakutsed ja soov luua tarkvara, mis töötab usaldusväärselt ka suure koormuse all. Meie juures on sul võimalus mõjutada süsteemide põhikomponente, osaleda arhitektuuriliste otsuste tegemisel ning panustada toodetesse, millel on otsene mõju kasutajakogemusele ja ärilistele tulemustele. Pakume toetavat töökeskkonda, professionaalset arengut, võimalust õppida kogenud spetsialistidelt ning kasutada kaasaegseid tööriistu ja arenduspraktikaid. Kui sind huvitavad operatsioonisüsteemid, jõudluse optimeerimine, turvaline programmeerimine ja süsteemide sisemine toimimine, võib see roll olla just sulle sobiv. Ootame kandidaati, kes suudab näha nii suurt pilti kui ka süveneda detailidesse, lahendada probleeme metoodiliselt ning võtta vastutust kriitiliste süsteemide kvaliteedi eest. Süsteemiprogrammeerijana mängid olulist rolli meie tehnoloogilise vundamendi tugevdamisel ja tulevikukindlate lahenduste loomisel.

Kohustused

Text copied to clipboard!
  • Arendada ja hooldada madala taseme süsteemitarkvara ning teenuseid.
  • Analüüsida ja optimeerida süsteemide jõudlust, mälukasutust ja stabiilsust.
  • Siluda keerukaid tehnilisi probleeme operatsioonisüsteemi ja rakenduse tasemel.
  • Luua ja täiustada tööriistu süsteemide jälgimiseks, testimiseks ja automatiseerimiseks.
  • Teha koostööd arendus-, testimis- ja taristumeeskondadega tehniliste lahenduste juurutamisel.
  • Dokumenteerida arhitektuuri, tehnilised otsused ja rakendatud lahendused.
  • Tagada tarkvara turvalisus, töökindlus ja vastavus kvaliteedinõuetele.
  • Osaleda koodireview'des ning toetada parimate arenduspraktikate rakendamist.

Nõuded

Text copied to clipboard!
  • Varasem kogemus süsteemiprogrammeerimise või madala taseme tarkvaraarendusega.
  • Hea C, C++ või Rust programmeerimiskeele oskus.
  • Põhjalikud teadmised operatsioonisüsteemide tööpõhimõtetest ja arvutiarhitektuurist.
  • Kogemus Linuxi või teiste UNIX-laadsete süsteemidega.
  • Oskus kasutada silumis-, profileerimis- ja logianalüüsi tööriistu.
  • Arusaam võrguprotokollidest, protsessidest, lõimedest ja mäluhaldusest.
  • Kogemus Gitiga ning tarkvara ehitus- ja juurutusprotsessidega.
  • Hea probleemilahendusoskus ja võime töötada nii iseseisvalt kui meeskonnas.

Võimalikud intervjuu küsimused

Text copied to clipboard!
  • Milline on teie varasem kogemus süsteemiprogrammeerimise valdkonnas?
  • Millistes programmeerimiskeeltes olete arendanud madala taseme tarkvara?
  • Kas olete töötanud operatsioonisüsteemi komponentide, draiverite või manussüsteemidega?
  • Kuidas lähenete jõudlusprobleemide diagnoosimisele ja optimeerimisele?
  • Milliseid silumis- ja profileerimistööriistu kasutate kõige sagedamini?
  • Kas teil on kogemust Linuxi süsteemide sisemise toimimise analüüsimisel?
  • Kuidas tagate kirjutatud koodi töökindluse ja turvalisuse?
  • Milline tehniline projekt on teie jaoks olnud kõige keerulisem ja miks?